Introduction

Numerous independent networks of regulatory elements including lncRNA, circRNA and pathway have been developed to crucial roles in computational system biology. Crosstalk among those networks as a bridge to construct and decode heterogenous network aids to acquire bio-meaningful information from multidimensional biological knowledge. We introduce NetLCP, an R package with command and shiny-based GUI modes, for customizing prioritization of regulatory elements in heterogenous network with low noisy and detecting mutation ‘switch’ in local area of network, which highlights interested regulatory elements or potential dysfunction. The latest version of NetLCP can be downloaded in https://github.com/mortyran/NetLCP. Here, we provide the whole example workflow related to cellular senescence.

Example workflow

1. Data preparation

1.1 First, we read in the cellular senescence gene set as example transcriptome from github.

cs_url = "C:\\Users\\acer\\Desktop\\NetLCP\\Paper\\Tutorial\\CellularSenescenceData"
cs_data = read.table(cs_url, sep = "\t", header = T)
head(cs_data)

1.2 Initialize NetLCP.

1.2.2 Automatically initialize NetLCP, this will depend on your network connection.
library(NetLCP)
dataInitialize()

2. Prioritize the biological elements.

Prioritize the biological elements in heterogenous network by input transcriptome (mRNA/miRNA, but mixed miRNA and mRNA is highly recommended). NetLCP supports miRBase ID for miRNA and Entrez ID for mRNA. The parameter transcriptomeList is the input transcriptome. The prioType represents the biological element type, which currently contains lncRNA, circRNA and pathway(KEGG, Reactome and Wikipathway). empiricalPvalue is alternative for an empirical p.value through random disturbance, default value is FALSE(it could take several hours).

2.1 lncRNA prioritization

lncRNA_prio = BioRegElePrioritization( transcriptomeList = cs_data$Trans_ID, 
                                       prioType = "lncRNA", 
                                       empiricalPvalue = FALSE )
[1] "Filtering the missing elements of transcriptomeList in the input network......"
[1] "Element 10934/7012 have been filtered....."
[1] "Now remain 367"
[1] "Prioritization begins, please wait while we do something......"
[1] "Prioritization finished......"
head(lncRNA_prio)

2.2 circRNA prioritization

circRNA_prio = BioRegElePrioritization( transcriptomeList = cs_data$Trans_ID, 
                                        prioType = "circRNA", 
                                        empiricalPvalue = FALSE )
head(circRNA_prio)

2.3 KEGG pathway prioritization

KEGG_prio = BioRegElePrioritization( transcriptomeList = cs_data$Trans_ID, 
                                     prioType = "KEGG", 
                                     empiricalPvalue = FALSE )
[1] "Filtering the missing elements of transcriptomeList in the input network......"
[1] "Element 10934/7012 have been filtered....."
[1] "Now remain 367"
[1] "Prioritization begins, please wait while we do something......"
[1] "Prioritization finished......"
head(KEGG_prio)

2.4 Reactome pathway prioritization

Reactome_prio = BioRegElePrioritization( transcriptomeList = cs_data$Trans_ID, 
                                         prioType = "Reactome", 
                                         empiricalPvalue = FALSE )
head(Reactome_prio)

2.5 Wikipathway pathway prioritization

Wikipathway_prio = BioRegElePrioritization( transcriptomeList = cs_data$Trans_ID, 
                                            prioType = "Wikipathway", 
                                            empiricalPvalue = FALSE )
head(Wikipathway_prio)

3. Inspect local area of heterogenous network

Current regulation types in local area of heterogenous network include binary elements regulation and multiple elements regulation. NetLCP will map the experimentally verified interactions between input biological elements to the local area of heterogenous network. NetLCP supports Ensembl ID for lncRNA, miRBase ID for miRNA, Entrez ID for mRNA, KEGG ID, Reactome ID, Wikipathway ID for pathway.

Here we explore the regulation among the top 10 of lncRNA and KEGG prioritization results and example transcriptome in local area.

# Input data preparation
lncRNA_top10 = lncRNA_prio$NodeName[1:10]
KEGG_top10 = KEGG_prio$NodeName[1:10]
local_data = c(lncRNA_top10, KEGG_top10, cs_data$Trans_ID)

3.1 Binary elements regulation

Inspect the binary elements regulation in the local area of heterogenous network. transcriptomeList represents the biological elements in the interested local area of heterogenous network. regulationType represents the regulation type in local area including circRNA-miRNA, lncRNA-miRNA, lncRNA-mRNA, miRNA-mRNA, miRNA-pathway, mRNA-pathway. allRegulation is a logical value. If you set “FALSE”, it will return the regulation in the local area of heterogenous network which only contains biological elements in the input transcriptomeList, i.e. local_data. If you set “TRUE”, it will search the regulation in the whole depository, which means the results can contain other biological elements. In this case, you can regarded as NetLCP as an independent depository to only extract associated regulatory data. “FALSE” (default) is a common setting.

# miRNA-mRNA regulation in local area
bi_local_miRNA_mRNA = binaryRegulation( transcriptomeList = local_data, 
                                        regulationType = "miRNA-mRNA", 
                                        allRegulation = FALSE )
# miRNA-pathway regulation in local area
bi_local_miRNA_pathway = binaryRegulation( transcriptomeList = local_data,
                                           regulationType = "miRNA-pathway", 
                                           allRegulation = FALSE )

3.2 Multiple elements regulation

Inspect the multiple elements regulation in the local area of heterogenous network.regulationType represents the regulation type in local area including lncRNA-miRNA-mRNA, circRNA-miRNA-mRNA, lncRNA-miRNA-mRNA-pathway and circRNA-miRNA-mRNA-pathway. Other parameters are the same as binaryRegulation function. Here we concentrate on the lncRNA-miRNA-mRNA-pathway regulation in the local area.

multi_local = multieleRegulation( transcriptomeList = local_data, 
                                  regulationType = "lncRNA-miRNA-mRNA-pathway", 
                                  allRegulation = FALSE )
[1] "Filtering the missing input transcriptome in input network......"
[1] "10934/7012 have been filtered....."
[1] "Now remain 387"
[1] "Multielement regulation extraction begins, please wait while we do something......"
head(multi_local)

3.3 Biological elements statistics

You can calculate the degree of biological elements in the local heterogenous network and customize the network visualization of results.

regData is the standard output of binaryRegulation or multieleRegulation functions, filterDegree means filtering the nodes which are less than it. selectNode represents certain or a group of elements you specify. netLayout is the alternative layout of network, “layout_nicely” or “layout_in_circle” (If the network is too large to exhibit, try to use this layout).

# Calculate the degree of biological elements in the local heterogenous network.
regStat( regData = multi_local, 
         filterDegree = 40, 
         selectNode = NULL )
# network visualization.
regNetVis( regData = multi_local, 
           filterDegree = 40, 
           selectNode = NULL, 
           netLayout = "layout_nicely" )
# if you want to see the associated regulation of the biological
# element "4193" in local area of heterogeous network.
regNetVis( regData = multi_local, 
           filterDegree = 40, 
           selectNode = "4193", 
           netLayout = "layout_nicely" )

4. Detecting mutation ‘switch’ on local area of heterogenous network.

Mutation ‘switch’ includes eQTLs of single biological element and the regulatory mutations on its binding site.

4.1 eQTLs of single biological elements and relative statistics.

4.1.1 Detect the eQTLs in the local area of heterogenous network.

regData is the standard output of binaryRegulation or multieleRegulation functions.

eQTLsData = eQTLsDetection(regData = multi_local)
[1] "Single biological elements eQTLs extracting extracting begins......"
head(eQTLsData)
4.1.2 eQTLs statistics

You can perform statistics on the eQTLs of single elements or regulation and customize the network visualization of results. regData is the standard output of binaryRegulation or multieleRegulation functions, eQTLsData is the standard output of “eQTLsDetection”. regulationType represent the regulation type of regData, which supports circRNA-miRNA, lncRNA-miRNA, lncRNA-mRNA, miRNA-mRNA, miRNA-pathway, mRNA-pathway, circRNA-miRNA-mRNA, lncRNA-miRNA-mRNA, miRNA-mRNA-pathway, lncRNA-miRNA-mRNA-pathway and circRNA-miRNA-mRNA-pathway. filterDegree means filtering the nodes which are less than it. selectNode represents a group of elements you specify. netLayout is the alternative layout of network, “layout_nicely” or “layout_in_circle” (If the network is too large to exhibit, try to use this layout).

# count the eQTLs of single elements.
eQTLsSingleEleStat( regData = multi_local, 
                    eQTLsData = eQTLsData, 
                    filterDegree = 50, 
                    selectNode = NULL )
# count the eQTLs of multiple elements on regulation.
eQTLsRegStat( regData = multi_local, 
              eQTLsData = eQTLsData,
              regulationType = "lncRNA-miRNA-mRNA-pathway",
              filterDegree = 30, 
              selectNode = NULL )
# network visualization.
eQTLsNetVis( regData = multi_local, 
             eQTLsData = eQTLsData, 
             filterDegree = 30,
             selectNode = NULL,
             netLayout = "layout_in_circle" )
# Give that you highlight the regulation "ENSG00000251562 - MIMAT0000081 - 4193 - hsa04218" 
# by statistics, you want to concentrate on the eQTLs of the biological elements in this regulation.
eQTLsNetVis(regData = multi_local, 
            eQTLsData = eQTLsData,
            filterDegree = 30, # this parameter will be automatically ignored when setting "selectNode"
            selectNode = c("ENSG00000251562", "MIMAT0000081", "4193", "hsa04218"), 
            netLayout = "layout_nicely")

4.2 Regulatory mutations on the binding site of biological elements

4.2.1 Detect the regulatory mutations on the binding site of biological elements in the local area of heterogenous network

regData is the standard output of binaryRegulation or multieleRegulation functions. regulationType represent the regulation type of regData, which supports “miRNA-mRNA”, “miRNA-mRNA-pathway”, “lncRNA-miRNA-mRNA”, “circRNA-miRNA-mRNA”, “lncRNA-miRNA-mRNA-pathway” or “circRNA-miRNA-mRNA-pathway”.

regMutData = regVarDetection(regData = multi_local, regulationType = "lncRNA-miRNA-mRNA-pathway")
[1] "Variants on regulations extracting begins......"
head(regMutData)
4.2.2 Regulatory mutations statistics

“regMutData” is the standard output of regVarDetection function. regulationType is the same as parameter in regVarDetection function. selectNode is always needed and only accept a group of elements in regulation.

# count the regulatory mutations on the binding sites of biological elements in regulation.
regVarStat(regVar = regMutData, 
           regulationType = "lncRNA-miRNA-mRNA-pathway", 
           selectNode = c("ENSG00000251562", "MIMAT0000081", "4193", "hsa04218", "ENSG00000247556"))
# network visualization.
regVarNetVis(regVar = regMutData, 
             regulationType = "lncRNA-miRNA-mRNA-pathway", 
             selectNode = c("ENSG00000251562", "MIMAT0000081", "4193", "hsa04218"))

If you have any questions, please contact us without hesitation.

Ming-Yu, Ran

Email: